Automated trading systems (ATS) are known for facilitating real time matching of buyers and sellers in a marketplace, where one or more listed instruments (such as stocks, securities, etc.) are traded.
Current ATS's utilize an Electronic Communication Network (ECN). The ECN implements a Central Limited Order Book (CLOB) which comprises a standard double auction between sellers who wish to sell a financial instrument at a particular price and buyers who wish to buy one or more financial instruments at a particular price.
In major trading markets, such as Nasdaq, ASX, and others, powerful computing systems are required to implement the many trades that are carried out, during trading.
The speed of the computing systems is very important. There are two important factors in executing a trade, these are Price Priority and Time Priority. Price Priority means that the person who wishes to sell at the best price or who wishes to buy at the best price will be given priority in trade. Time Priority means that where there are two sellers or two buyers at the same price then the trade will be executed to the first of the buyers or sellers whose order reaches the CLOB first and is executed first. Speed of processing of the ECN is therefore critical.
Clients of the ECN electronically submit orders to buy or sell a particular quantity of a listed instrument, with particular conditions such as a maximum/minimum price. These orders are placed in a queue. Initially, the client is notified that their order has been confirmed.
When a buyer and seller are found that can be matched together, satisfying their price conditions, a trade occurs. The buyer and seller are both notified that their orders have successfully been executed.
An anonymised summary of order prices and trades (“market data”) is also disseminated to other interested clients.
Metrics of ECN performance include latency and throughput. Latency is the response time of the exchange. This can be measured in a number of different contexts: from placing an order to receiving an initial confirmation, from placing an order to receiving an execution notification, or from placing an order to it being disseminated in the market data. Throughput is the maximum number of orders or trades per second that the ECN can support.
Many clients of ECN's desire low latency and high throughput, so that they can trade frequently and confidently, having less uncertainty about the status of their orders and being able to respond rapidly to changing conditions.
Current ECN's are implemented in software on general-purpose processor architectures, and typically with general-purpose operating systems. While this simplifies implementation, these solutions exhibit high latencies—in the hundreds of microseconds at best, and typically milliseconds. When a general-purpose operating system is used, this also increases the chance that a hostile attacker could compromise the computer running the ECN software; for this reason an additional firewall system is often added between the client and the ECN system, further increasing latency.